﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLVT.DAO;
using QLVT.Entity;


namespace QLVT.UI.UserControlUI
{
    public partial class UcNhaCungCap : UserControl
    {
        bool add = false;
        public UcNhaCungCap()
        {
            InitializeComponent();
        }

        private void toolStripButtonDelete_Click(object sender, EventArgs e)
        {
            String mancc = txtMaNCC.Text;
            if (mancc.Length != 0)
            {
                NhaCungCapDAO nhaCungCapDAO = new NhaCungCapDAO();
                if (!nhaCungCapDAO.DeleteById(mancc))
                {
                    MessageBox.Show("Không xóa được nhà cung cấp", "Error Sytem", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    DataSet ds = nhaCungCapDAO.GetAll();
                    dataGridViewNhaCungCap.DataSource = ds.Tables[0];
                    if (ds.Tables[0].Rows.Count != 0)
                    {
                        BinddingData(nhaCungCapDAO.GetById(dataGridViewNhaCungCap.Rows[0].Cells[0].Value.ToString()));
                    }
                }
            }
        }

        private void toolStripButtonEdit_Click(object sender, EventArgs e)
        {
            NhaCungCap nhaCungCap = getData();
            if (nhaCungCap != null)
            {
                NhaCungCapDAO nhaCungCapDAO = new NhaCungCapDAO();
                if (!nhaCungCapDAO.UpdateById(nhaCungCap))
                {
                    MessageBox.Show("Không cập nhật được nhà cung cấp", "Error Sytem", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    DataSet ds = nhaCungCapDAO.GetAll();
                    dataGridViewNhaCungCap.DataSource = ds.Tables[0];
                    if (ds.Tables[0].Rows.Count != 0)
                    {
                        BinddingData(nhaCungCapDAO.GetById(dataGridViewNhaCungCap.Rows[0].Cells[0].Value.ToString()));
                    }
                }
            }
        }

        private void toolStripButtonAdd_Click(object sender, EventArgs e)
        {
            if (!add)
            {
                toolStripButtonOk.Visible = true;
                add = true;
                toolStripButtonAdd.Visible = false;
                txtMaNCC.Text = null;
                txtTenNCC.Text = null;
                txtSDT.Text = null;
                txtEmail.Text = null;
            }
        }

        private void toolStripButtonOk_Click(object sender, EventArgs e)
        {
            if (add)
            {
                add = false;
                toolStripButtonOk.Visible = false;
                toolStripButtonAdd.Visible = true;
                NhaCungCap nhaCungCap = getData();
                if (nhaCungCap != null)
                {
                    NhaCungCapDAO nhaCungCapDAO = new NhaCungCapDAO();
                    if (!nhaCungCapDAO.Insert(nhaCungCap))
                    {
                        MessageBox.Show("Không tạo thêm được nhà cung cấp", "Error Sytem", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        DataSet ds = nhaCungCapDAO.GetAll();
                        dataGridViewNhaCungCap.DataSource = ds.Tables[0];
                        if (ds.Tables[0].Rows.Count != 0)
                        {
                            BinddingData(nhaCungCapDAO.GetById(dataGridViewNhaCungCap.Rows[0].Cells[0].Value.ToString()));
                        }
                    }
                }
            }
        }

        private void dataGridViewNhaCungCap_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow rowSelect = dataGridViewNhaCungCap.SelectedRows[0];
            NhaCungCapDAO nhaCungCapDao = new NhaCungCapDAO();
            NhaCungCap nhanvien = nhaCungCapDao.GetById(rowSelect.Cells[0].Value.ToString());
            if (nhanvien != null)
            {
                BinddingData(nhanvien);
            }
            if (add)
            {
                add = false;
                toolStripButtonOk.Visible = false;
                toolStripButtonAdd.Visible = true;
            }
        }

        private void UcNhaCungCap_Load(object sender, EventArgs e)
        {
            NhaCungCapDAO nhaCungCapDAO = new NhaCungCapDAO();
            DataSet ds = nhaCungCapDAO.GetAll();
            DataGridViewTextBoxColumn columnMaNCC = new DataGridViewTextBoxColumn();
            columnMaNCC.HeaderText = "Mã nhà cung cấp";
            columnMaNCC.DataPropertyName = "mancc";
            dataGridViewNhaCungCap.Columns.Add(columnMaNCC);
            DataGridViewTextBoxColumn columnTen = new DataGridViewTextBoxColumn();
            columnTen.HeaderText = "Tên nhà cung cấp";
            columnTen.DataPropertyName = "tenncc";
            dataGridViewNhaCungCap.Columns.Add(columnTen);
            DataGridViewTextBoxColumn columnSDT = new DataGridViewTextBoxColumn();
            columnSDT.HeaderText = "Số điện thoại";
            columnSDT.DataPropertyName = "sdt";
            dataGridViewNhaCungCap.Columns.Add(columnSDT);
            DataGridViewTextBoxColumn columnEmail = new DataGridViewTextBoxColumn();
            columnEmail.HeaderText = "Email";
            columnEmail.DataPropertyName = "email";
            dataGridViewNhaCungCap.Columns.Add(columnEmail);
            dataGridViewNhaCungCap.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dataGridViewNhaCungCap.DataSource = ds.Tables[0];
        }
        public NhaCungCap getData()
        {
            NhaCungCap nhaCungCap = null;
            try
            {
                nhaCungCap = new NhaCungCap();
                nhaCungCap.Mancc = txtMaNCC.Text;
                nhaCungCap.Tenncc = txtTenNCC.Text;
                nhaCungCap.Sdt = txtSDT.Text;
                nhaCungCap.Email = txtEmail.Text;
                return nhaCungCap;
            }
            catch (Exception ex)
            {
                return null;
            }
        }

        public void BinddingData(NhaCungCap nhaCungCap)
        {
            txtMaNCC.Text = nhaCungCap.Mancc;
            txtTenNCC.Text = nhaCungCap.Tenncc;
            txtSDT.Text = nhaCungCap.Sdt;
            txtEmail.Text = nhaCungCap.Email;
        }

        private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

    }
}
